package mesweb.mesweb.mapper.produce;


import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import mesweb.mesweb.dto.ProducePlan.DayReportDetailConditionDto;
import mesweb.mesweb.dto.ProducePlan.MonthGanttDto;
import mesweb.mesweb.entity.produce.ProduceOrderProductPlan;
import mesweb.mesweb.entity.supply.sdMaterialRequire;
import mesweb.mesweb.vo.ProducePlan.GanttTask;
import mesweb.mesweb.vo.produceLine.SimpleProduceLineVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Description: 订单产品排产
 * @Author: jeecg-boot
 * @Date:   2021-09-01
 * @Version: V1.0
 */
public interface ProduceOrderProductPlanMapper extends BaseMapper<ProduceOrderProductPlan> {

    IPage<ProduceOrderProductPlan> getProduceOrderProductPlanList(Page page, @Param("ew") QueryWrapper queryWrapper);

    List<ProduceOrderProductPlan> getProduceOrderProductPlanList(@Param("ew") QueryWrapper queryWrapper);

    void saveProduceOrderProductPlan(ProduceOrderProductPlan produceOrderProductPlan);

    List<SimpleProduceLineVo> getUnSceduledProduceLines(@Param("ew") QueryWrapper queryWrapper);

    List<SimpleProduceLineVo> getUnReverseSceduledProduceLines(@Param("ew") QueryWrapper queryWrapper);

    List<GanttTask>   getMonthGantt(MonthGanttDto monthGanttDto);

    IPage<sdMaterialRequire> getRequiredMaterial(Page page, DayReportDetailConditionDto dayReportDetailConditionDto);

    List<sdMaterialRequire> getRequiredMaterial(DayReportDetailConditionDto dayReportDetailConditionDto);

    List<SimpleProduceLineVo> getSceduledProduceLines(@Param("ew") QueryWrapper queryWrapper);

    IPage<ProduceOrderProductPlan> getScheduledProduceOrderProductPlans(Page page, @Param("ew") QueryWrapper queryWrapper);

    List<ProduceOrderProductPlan> getScheduledProduceOrderProductPlans(@Param("ew") QueryWrapper queryWrapper);




}

